---
title: Introduction to Expo Router
description: Expo Router is an open-source routing library for Universal React Native applications built with Expo.
hideTOC: true
sidebar_title: Introduction
---

import { GithubIcon } from '@expo/styleguide-icons/custom/GithubIcon';
import { BookOpen02Icon } from '@expo/styleguide-icons/outline/BookOpen02Icon';
import { Rocket02Icon } from '@expo/styleguide-icons/outline/Rocket02Icon';

import { BoxLink } from '~/ui/components/BoxLink';

Expo Router is a file-based router for React Native and web applications. It allows you to manage navigation between screens in your app, allowing users to move seamlessly between different parts of your app's UI, using the same components on multiple platforms (Android, iOS, and web).

It brings the best file-system routing concepts from the web to a universal application &mdash; allowing your routing to work across every platform. When a file is added to the **app** directory, the file automatically becomes a route in your navigation.

## Features

- **Native**: Built on top of our powerful [React Navigation suite](https://reactnavigation.org/), Expo Router navigation is truly native and platform-optimized by default.
- **Shareable**: Every screen in your app is automatically deep linkable. Making any route in your app shareable with links.
- **Offline-first**: Apps are cached and run offline-first, with automatic updates when you publish a new version. Handles all incoming native URLs without a network connection or server.
- **Optimized**: Routes are automatically optimized with lazy-evaluation in production, and deferred bundling in development.
- **Iteration**: Universal Fast Refresh across Android, iOS, and web, along with artifact memoization in the bundler to keep you moving fast at scale.
- **Universal**: Android, iOS, and web share a unified navigation structure, with the ability to drop-down to platform-specific APIs at the route level.
- **Discoverable**: Expo Router enables build-time static rendering on web, and universal linking to native. Meaning your app content can be indexed by search engines.

## Next steps

<BoxLink
  title="Quick start"
  Icon={Rocket02Icon}
  description="Learn how to quickly get started using Expo Router."
  href="/router/installation/#quick-start"
/>
<BoxLink
  title="Manual installation"
  Icon={BookOpen02Icon}
  description="Detailed instructions on how to get started and add Expo Router to your existing app."
  href="/router/installation/#manual-installation"
/>
<BoxLink
  title="Example app"
  Icon={GithubIcon}
  description="See the source code for the example app on GitHub."
  href="https://github.com/expo/expo/tree/main/templates/expo-template-tabs"
/>
